package com.luolixia.srb.core.service;

import com.luolixia.srb.core.pojo.entity.BorrowInfo;
import com.luolixia.srb.core.pojo.entity.Lend;
import com.baomidou.mybatisplus.extension.service.IService;
import com.luolixia.srb.core.pojo.vo.BorrowInfoApprovalVO;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

/**
 * <p>
 * 标的准备表 服务类
 * </p>
 *
 * @author viki
 * @since 2021-05-04
 */
public interface LendService extends IService<Lend> {

    /**
     * 创建借出
     *
     * @param borrowInfoApprovalVO  借出信息审批vo
     * @param borrowInfo            借出信息
     */
    void createLend(BorrowInfoApprovalVO borrowInfoApprovalVO, BorrowInfo borrowInfo);

    /**
     * 标的列表
     * @return 标的列表
     */
    List<Lend> selectList();

    /**
     * 获取标的详细信息
     * @param id id
     * @return 标的详细信息
     */
    Map<String, Object> getLendDetail(Long id);

    /**
     * 获取利息计数
     * @param invest
     * @param yearRate
     * @param totalmonth
     * @param returnMethod
     * @return
     */
    BigDecimal getInterestCount(BigDecimal invest, BigDecimal yearRate, Integer totalmonth, Integer returnMethod);

    /**
     * 满标放款
     * @param lendId
     */
    void makeLoan(Long lendId);
}
